package com.briup.es.demos.service.impl;

import com.briup.es.demos.bean.User;
import com.briup.es.demos.mapper.UserMapper;
import com.briup.es.demos.service.UserService;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import javax.annotation.Resource;

@Service
public class UserServiceImpl implements UserService {

    @Resource
    private UserMapper userMapper;

    @Override
    public String login(String username, String password) {
        // 判断用户名和密码是否有效，如：username=null username="      "是无效的用户名
        if (username == null || username.trim().isEmpty()) {
            return "用户名不能为空";
        }
        // & 与 | 或 ! 非/取反
        // && 逻辑与，前面的表达式为false，后面的表达式将不会执行
        // || 逻辑或，前面的表达式为true，后面的表达式将不会执行
        if (!StringUtils.hasText(password)) {
            return "密码不能为空";
        }

        // 根据用户名去数据库中查询用户数据
        User user = userMapper.queryByUsername(username);
        if (user == null) {
            return "该用户不存在";
        }
        // 如果用户存在，那么继续比较密码以及账号的状态
        if (!password.equals(user.getPassword())) {
            return "您输入的密码有误，请重新输入";
        }
        if (0 != user.getStatus()) {
            return "该账号被封禁，请联系管理员处理!";
        }

        return "登录成功";
    }
}
